package com.xukai.springboot.service.sys;

import com.xukai.springboot.datalayer.sys.MenuMapper;
import com.xukai.springboot.entity.sys.t_sys_authority;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

@Service
public class MenuService {


    @Autowired
    private MenuMapper menuMapper;

    /**
     * 获取目录列表
     */
    public List<t_sys_authority> GetMenuList(int parentID, int state) {
        return menuMapper.GetMenuList(parentID, state);
    }

    /**
     * 获取用户可用目录列表
     */
    public List<t_sys_authority> GetMenuListByUserID(int parentID, int userID) {
        return menuMapper.GetMenuListByUserID(parentID, userID);
    }

    /**
     * 获取目录详情
     */
    public t_sys_authority GetDetial(int id) {
        return menuMapper.GetMenu(id);
    }

    /**
     * 新建目录
     */
    public t_sys_authority AddMenu(t_sys_authority data) {
        data.setCreateTime(new Date());
        menuMapper.AddMenu(data);
        return data;
    }

    /**
     * 编辑目录
     */
    public void EditMenu(t_sys_authority data) {
        menuMapper.UpdataMenu(data.getId(), data.getName(), data.getSort(), data.getState(), data.getPath(), data.getParentId());
    }

    /**
     * 修改目录状态
     */
    public void EditState(int id, int state) {
        menuMapper.UpdateState(id, state);
    }

    /**
     * 判断目录名是否重复
     */
    public boolean IsExist(int id, String name) {
        int result = menuMapper.IsExist(id, name);
        if (result > 0) {
            return true;
        }
        return false;
    }

    /**
     * 删除目录
     *
     * @param id
     */
    public void DelMenu(int id) {
        menuMapper.DelMenu(id);
    }


    /**
     * 获取顶级菜单
     *
     * @return
     */
    public List<t_sys_authority> GetTopMenu() {
        return menuMapper.GetTopMenu();
    }
}
